home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
et
/
et3_0-a1.lha
/
et3
/
src
/
PopupItem.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-06-10
|
2KB
|
68 lines
#ifndef PopupItem_First
#ifdef __GNUG__
//pragma once
#pragma interface
#endif
#define PopupItem_First
#include "Buttons.h"
class Menu;
//---- MenuButton --------------------------------------------------------------
class MenuButton: public StateButton {
public:
MetaDef(MenuButton);
MenuButton(int id, Menu *m= 0);
~MenuButton();
OStream& PrintOn(OStream&);
IStream& ReadFrom(IStream&);
void CollectParts(Collection*);
Menu *MyMenu();
void SetCollection(SeqCollection *col, bool freeold= TRUE);
protected:
Menu *menu;
};
//---- PopupButton -------------------------------------------------------------
class PopupButton: public MenuButton {
public:
MetaDef(PopupButton);
PopupButton(int id, int dfltid, class Menu *m= 0);
void SetContainer(VObject *v);
Metric GetMinSize();
void DoTrackMouse(TrackPhase atp, Point np);
void Draw(Rectangle r);
Command *DispatchEvents(Point lp, Token &t, Clipper *vf);
void Control(int id, int part, void *v);
};
//---- PullDownButton ----------------------------------------------------------
class PullDownButton: public MenuButton {
public:
MetaDef(PullDownButton);
PullDownButton(Menu *m= 0);
PullDownButton(int id, class Menu*);
void DoTrackMouse(TrackPhase atp, Point p);
void DrawHighlight(Rectangle r);
};
//---- MenuItem ----------------------------------------------------------------
class MenuItem : public MenuButton {
short lastxpos, enterxpos;
public:
MetaDef(MenuItem);
MenuItem(int id= cIdNone, VObject *v= 0, Menu *nm= 0);
void DoTrackMouse(TrackPhase, Point);
void DrawInner(Rectangle, bool);
void SetOrigin(Point at);
Metric GetMinSize();
};
#endif